package com.koron.plan.web.repairplan.bean.query;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.koron.bean.query.PageQuery;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;

import javax.validation.constraints.NotNull;
import java.util.Date;
import java.util.List;

/**
 * @author twcao
 * @title: PlanPackageIssueQuery
 * @projectName GDH_EAM_V2
 * @description: 检修计划包工单计划
 * @date 2021/12/179:56
 */
@Data
@Accessors(chain = true)
@ApiModel("检修计划包工单计划")
public class PlanPackageIssueQuery extends PageQuery {

    @ApiModelProperty("主键")
    private String id;

    @ApiModelProperty("检修计划包主键")
    private String packageId;

    @ApiModelProperty("检修计划主主办单位主键")
    private String packageDeptId;

    @ApiModelProperty("标题")
    private String title;

    @ApiModelProperty("设备管理单位")
    private String deptManage;

    @ApiModelProperty("设备管理单位名称")
    private String deptManageName;

    @ApiModelProperty("工作类别")
    private String jobType;

    @ApiModelProperty("计划编号")
    private String code;

    @ApiModelProperty("工作内容")
    private String content;

    @NotNull(message = "计划开始时间不能为空")
    @ApiModelProperty("开始时间")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm")
    @JsonFormat(pattern="yyyy-MM-dd HH:mm",timezone = "GMT+8")
    private Date startTime;

    @NotNull(message = "计划结束时间不能为空")
    @ApiModelProperty("结束时间")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm")
    @JsonFormat(pattern="yyyy-MM-dd HH:mm",timezone = "GMT+8")
    private Date endTime;

    @ApiModelProperty("主办单位")
    private String organizer;

    @ApiModelProperty("提醒时间")
    private List<Date> remindTime;

    @ApiModelProperty("备注")
    private String desc;

    @ApiModelProperty("工单id")
    private String issueId;

    @ApiModelProperty("工单编号")
    private String issueCode;

    @ApiModelProperty("状态")
    private Integer status;

    @ApiModelProperty("排序")
    private Integer sort;

    @ApiModelProperty("创建人账户")
    private String createBy;

    @ApiModelProperty("创建人名称")
    private String createByName;

    @ApiModelProperty("创建时间")
    private Date createTime;

    @ApiModelProperty("更新人账户")
    private String updateBy;

    @ApiModelProperty("更新人名称")
    private String updateByName;

    @ApiModelProperty("更新时间")
    private Date updateTime;

    @ApiModelProperty("计划包编号")
    private String packageCode;

    @ApiModelProperty("设备名称")
    private String equipmemtName;

    @ApiModelProperty("设备id")
    private String equipmemtId;

    @ApiModelProperty("计划包的状态")
    private List<Integer> pkgStatus;
}
